Systems and methods for managing a profile of a user

ABSTRACT

Systems and methods of managing a profile of a user of at least one device having access to electronic content. The systems and methods may involve receiving a user identifier for a user of at least one device configured to access electronic content; storing a profile of the user in a memory, where the profile of the user comprises the user identifier; if a user activity meets at least one event definition, identifying the user activity as an event; receiving data associated with the event; and recording at least a portion of the data associated with the event in the profile of the user.

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims priority from U.S. Provisional Patent Application No. 61/417,261, filed on Nov. 25, 2010 and United States Provisional Patent Application No. 61/538,101 filed on Sep. 22, 2011. The complete disclosure of each of these provisional patent applications is hereby incorporated by reference.

TECHNICAL FIELD

The described embodiments relate to systems and methods for managing a profile of a user and, in particular, to systems and methods for managing a profile of a user of at least one device having access to electronic content.

BACKGROUND

Electronic devices may display electronic content as text, images, audio, video or a combination thereof, to a user. One example of an electronic device is an electronic reading device. One example of electronic content is an electronic publication. An electronic publication also referred to as an “e-book” or a digital book, and is a digital publication that includes text, images, audio, video or a combination thereof. An e-book may be produced by, published by, accessed by, stored by, or readable on electronic reading devices. E-books may be digitized versions of printed materials or may not have a printed equivalent.

Electronic reading devices that are specifically designed for accessing, storing, or displaying e-books for a user to read may be referred to as “e-readers”, “e-book readers”, “e-book devices”, and so on. Other computing devices such as personal computers, smart phones, mobile phones, tablet computers, and so on, can also access, store or display e-books and other electronic content for a user. Some e-readers use electronic ink, or “e-ink”, technology to clearly display an e-book to a user in an improved manner for reading. E-readers may include wired or wireless network connectivity in order to access copies of electronic content, such as electronic books, for display to a user.

SUMMARY

In a first aspect, embodiments described herein may provide a method of managing a profile of a user of at least one device having access to electronic content, the method comprising: receiving a user identifier for a user of at least one device configured to access electronic content; storing a profile of the user in a memory, wherein the profile of the user comprises the user identifier; if a user activity meets at least one event definition, identifying the user activity as an event, wherein the identifying step is carried out using a processor; receiving data associated with the event; recording at least a portion of the data associated with the event in the profile of the user; and providing at least of portion of the profile of the user to the at least one device.

In some embodiments, the electronic content comprises at least one electronic publication.

In further embodiments, the method may further comprise storing a plurality of event definitions.

In some embodiments, identifying the user activity as an event may comprise matching input data to at least one of the plurality of event definitions.

In some embodiments, the method may further comprise, if a plurality of the user activities meet at least one milestone definition, identifying that a milestone has been achieved, wherein the milestone is an aggregation of events; and recording data associated with the milestone in the profile of the user.

In further embodiments, the method may further comprise storing at least one milestone definition.

In some embodiments, the method may further comprise determining whether the milestone is associated with a reward; recording data associated with the reward in the profile of the user; and providing the reward to the user.

In further embodiments, the method may further comprise providing a notification of the occurrence of the event to a social network application.

In some embodiments, receiving data associated with the event further may comprise receiving a time period associated with the user accessing the electronic content.

In further embodiments, receiving data associated with the event may further comprise receiving a time period associated with the user reading the at least one electronic publication.

In further embodiments, receiving data associated with the event may further comprise receiving at least a portion of the electronic content.

In some embodiments, receiving data associated with the event may further comprise receiving a location of at least one device configured to access the electronic content.

In further embodiments, the event may be associated with at least one of the group consisting of: interactivity of the user with the device, interactivity of the user with an electronic publication online service, a number of electronic publications in an electronic library associated with the user, turning a number of pages in an electronic publication, adding an electronic publication to an electronic library associated with the user, finishing an electronic publication that is last in a series of electronic publications, finishing an electronic publication by an author, reading an electronic publication in a location, an event on a social networking application, and reading about a character in an electronic publication.

In further embodiments, the event may be associated with at least one of the group consisting of: interactivity of the user with the device, interactivity of the user with an online service providing the electronic content, a number of types of electronic content items associated with the user, a number of times the user access an electronic content item, adding a new electronic content item to an electronic library associated with the user, finishing an electronic content item that is last in a series of electronic content items, finishing a electronic content item by an author, accessing an electronic content item in a location, and an event on a social networking application.

In some embodiments, the method may further comprise if the user activity meets at least one advertisement definition, providing an advertisement to the user; and recording data associated with the advertisement in the profile of the user.

In further embodiments, the method may further comprise if the user activity meets at least one offer definition, providing an offer to the user, and recording data associated with the offer in the profile of the user.

In some embodiments, the method further comprises if the user activity meets at least one gift definition, providing a virtual gift to the user, and recording data associated with the gift in the profile of the user.

In some embodiments, wherein the user activity may be associated with the user highlighting a portion of the electronic publication.

In further embodiments, wherein the user activity may be associated with the user annotating a portion of the electronic publication.

In further embodiments, the user activity may be associated with the user interacting with another user.

In some embodiments, the user activity may be associated with the user commenting on the electronic publication.

In another aspect embodiments described herein may provide a system for managing a profile of a user of at least one device having access to electronic content, the system comprising: a profile module configured to receive a user identifier for the user of the at least one device configured to access the electronic content; store a profile of the user in a memory, wherein the profile of the user comprises the user identifier; an event detection module configured to identify, using a processor, a user activity as an event if the user activity meets at least one event definition, and to receive data associated with the event; and wherein the profile module is further configured to record at least a portion of the data associated with the event in the profile of the user.

In some embodiments, the electronic content may comprise at least one electronic publication.

In some embodiments, the system further comprises an event definition module configured to define a plurality of event definitions; and a rules engine configured to store and manage the plurality of event definitions.

In further embodiments, the event detection module is configured to identify an event by interacting with the rules engine to match input data to at least one of the plurality of event definitions.

In some embodiments, the system further comprises a milestone definition module configured to define at least one milestone definition, wherein a milestone is an aggregation of events; and wherein the rules engine is configured to store the at least one milestone definition.

In further embodiments, the event detection module is further configured to determine that a plurality of the user activities achieve a milestone if the plurality of the user activities meet at least one milestone definition, wherein a milestone is an aggregation of events; and wherein the profile module is configured to record data associated with the milestone in the profile of the user.

In some embodiments, the system may further comprise a reward module configured to determine whether the milestone is associated with a reward and provide the reward to the user; and wherein the profile module is configured to record data associated with the reward in the profile of the user.

In further embodiments, the system may further comprise a social connector configured to provide a notification associated with the event to a social networking application.

In some embodiments, the system may further comprise a social connector configured to receive the user activity from a social networking application.

In further embodiments, the event detection module may be configured to receive a time period associated with the user reading the at least one electronic publication.

In some embodiments, the event detection module may be configured to receive a time period associated with the user accessing the electronic content.

In some embodiments, the event detection module may be configured to receive story content from at least one of the at least one electronic publication.

In further embodiments, the event detection module may be configured to receive a location of the device configured to access the electronic content.

In further embodiments, the event may be associated with at least one of the group consisting of: interactivity of the user with the device, interactivity of the user with an electronic publication online service, a number of electronic publications in an electronic library associated with the user, turning a number of pages in an electronic publication, adding an electronic publication to an electronic library associated with the user, finishing an electronic publication that is last in a series of electronic publications, finishing an electronic publication by an author, reading an electronic publication in a location, an event on a social networking application, annotations, comments, speed, social graph, specific content in the electronic publication, and reading about a character in an electronic publication.

In further embodiments, the system may further comprise an event analytics engine further configured to process data associated with events to compute statistical data selected from the group consisting of: status of current electronic publication, current electronic publication reading, types of electronic publication, genre of electronic publication, graphical representations, number of pages turned, number of hours spent reading, number of pages read every session, rewards achieved, number of magazines completed, number of newspapers completed, number of books read, number of hours per e-book, number of minutes per magazine, number of pages read every session, annotations, comments, speed, social graph, specific content in the electronic publication, and percentage of electronic publications completed in the library.

In further embodiments, the event detection module may be configured to run on a server, wherein the server comprises the processor and the server communicates with the at least one device over a network.

In some embodiments, the event detection module may be configured to run on the at least one device.

In some embodiments, the system may further comprise at least two event detection modules configured to identify, using the processor, a user activity as an event if the user activity meets at least one event definition, and to receive data associated with the event, and wherein a first event detection module resides on a server and a second event detection module resides on the at least one device.

In further embodiments, the system may further comprise an advertisement engine configured to provide, using the processor, an advertisement to the user if the user activity meets at least one of an advertisement definition, a milestone definition, and a reward definition.

BRIEF DESCRIPTION OF THE DRAWINGS

For a better understanding of embodiments of the systems and methods described herein, and to show more clearly how they may be carried into effect, reference will be made, by way of example, to the accompanying drawings in which:

FIG. 1 is a block diagram of components interacting with a system for managing a profile of a user in accordance with an example embodiment;

FIG. 2 is a block diagram of the system for managing a profile of a user in accordance with at least one embodiment;

FIG. 3 is a screen display of rendered data to provide a visual display of a profile of a user in accordance with at least one embodiment;

FIG. 4 is a flowchart of a method for generating a reading history for managing a profile of a user in accordance with at least one embodiment; and

FIG. 5 is a flowchart of another method for generating a reading history for managing a profile of a user in accordance with at least one embodiment;

FIG. 6 is a screen display of a device in accordance with at least one embodiment;

FIG. 7 is another screen display of rendered data to provide a visual display of a profile of a user in accordance with at least one embodiment; and

FIG. 8 is a further screen display of a rendered data to provide a visual display of a profile of a user in accordance with at least one embodiment.

The drawings, described below, are provided for purposes of illustration, and not of limitation, of the aspects and features of various examples of embodiments of the invention described herein. The drawings are not intended to limit the scope of the applicants' teachings in any way. For simplicity and clarity of illustration, elements shown in the figures have not necessarily been drawn to scale. The dimensions of some of the elements may be exaggerated relative to other elements for clarity. Further, where considered appropriate, reference numerals may be repeated among the figures to indicate corresponding or analogous elements.

DETAILED DESCRIPTION

It will be appreciated that numerous specific details are set forth in order to provide a thorough understanding of the exemplary embodiments described herein. However, it will be understood by those of ordinary skill in the art that the embodiments described herein may be practiced without these specific details. In other instances, well-known methods, procedures and components have not been described in detail so as not to obscure the embodiments described herein. Furthermore, this description is not to be considered as limiting the scope of the embodiments described herein in any way, but rather as merely describing implementation of the various embodiments described herein.

The embodiments of the systems and methods described herein may be implemented in hardware or software, or a combination of both. However, these embodiments may be implemented in computer programs executing on programmable computers, each computer including at least one processor, a data storage system (including volatile and non-volatile memory and/or storage elements), and at least one communication interface. For example, the programmable computers may be a server, network appliance, set-top box, embedded device, computer expansion module, personal computer, laptop, personal data assistant, or mobile device. Program code is applied to input data to perform the functions described herein and to generate output information. The output information is applied to one or more output devices, in known fashion. In some embodiments, the communication interface may be a network communication interface. In embodiments in which elements of the invention are combined, the communication interface may be a software communication interface, such as those for inter-process communication (IPC). In still other embodiments, there may be a combination of communication interfaces.

Each program may be implemented in a high level procedural or object oriented programming or scripting language, or both, to communicate with a computer system. However, alternatively the programs may be implemented in assembly or machine language, if desired. In any case, the language may be a compiled or interpreted language. Each such computer program may be stored on a storage media or a device (e.g. ROM or magnetic diskette), readable by a general or special purpose programmable computer, for configuring and operating the computer when the storage media or device is read by the computer to perform the procedures described herein. Embodiments of the system may also be considered to be implemented as a non-transitory computer-readable storage medium, configured with a computer program, where the storage medium so configured causes a computer to operate in a specific and predefined manner to perform the functions described herein.

Furthermore, the system, processes and methods of the described embodiments are capable of being distributed in a computer program product including a physical non-transitory computer readable medium that bears computer usable instructions for one or more processors. The medium may be provided in various forms, including one or more diskettes, compact disks, tapes, chips, magnetic and electronic storage media, and the like. The computer useable instructions may also be in various forms, including compiled and non-compiled code.

As an illustrative example, the systems and methods described herein may manage a profile of a user of a device that may access electronic publications. However, those skilled in the art will understand that described embodiments may also be used to access other types of electronic content, such as movies, television shows, music albums or songs. An instance of electronic content may be referred to herein as an electronic content item.

Reference is now made to FIG. 1, which illustrates a block diagram of components interacting with a system 100 for managing a profile of a user in accordance with an example embodiment. System 100 maintains a record of metrics and events by collecting and processing input data received from a user's interactions with a server 104, at least one device 102 a, 102 b, 102 c, electronic content (such as for example one or more electronic publications or “e-books” 108, 110, 114, 116), computer applications, such as a social networking applications 120, or a combination thereof. Input data received from the user's interactions may be referred to as user activities, and may be recorded by system 100 as metrics. Certain user activities may be identified by system 100 as metrics or events, and the identification of metrics and events is described in detail below. The system 100 identifies certain user activities as metrics or events and compiles received data associated with the metrics or events. The system 100 analyzes the data associated with metrics, events, or a combination thereof, to compute statistical data, determine whether a milestone is achieved, determine whether a reward should be provided to a user, determine whether an advertisement or offer should be provided to a user, and so on. Data from metrics, events, statistical analysis, milestones and rewards may be collected, analyzed, and stored by system 100 to form part of a detailed profile of a user and their reading habits. A user may read an e-book on multiple devices 102 a, 102 b, 102 c and system 100 may collate collected metrics and data associated with events across all devices in the user's profile.

As used herein, the terms metrics, events, milestones, and notifications are defined as follows:

“Metrics” are defined as user actions or activities that are recorded by system 100. User activities may be any interaction a user has with server 104, device 102 a, 102 b, 102 c, e-books 108, 110, 114, 116, social network applications 120, or a combination thereof. Metrics may be either direct user activities, such as for example a page turn, or indirect user activities, such as for example reading at a specific time. Metrics include user activities, such as turning a page, and may also include data elements, such as the location of the user or device 102 a, 102 b, 102 c, e-book title, timestamp, type of e-book, genre of e-book, author of e-book, reading rate, and so on. Metrics may be viewed as a subset of user activities, as not all user activities may be recorded as metrics by system 100.

“Events” are a predefined subset of metrics. Specifically, events are preferably only those metrics of which the user is informed via a display, as will be discussed in more detail below. Additionally, events contain resource data of images, audio, video and text which are used in the creation of notifications.

A “milestone” is preferably a predicate or condition which operates on the set (or a subset) of metrics and events recorded by the system 100 to determine whether the milestone has been achieved by the user. One exemplary purpose of such a determination (also referred to as an “achievement”) is to provide an associated reward to the user. A reward may be resource data in the form of images and text which identify the achievement awarded to the user. Each achievement is either associated with at least one metric or event, or may be time-based, in which case time can be said to be the metric. Metric-based achievements will execute the predicate (milestone) each time their associated metric(s) occur to determine whether the milestone has been achieved. Time-based achievements will execute their predicate in pre-defined intervals. An achievement reward can be sponsored by an advertiser and may include an offer or event sponsored by an advertiser. For example, a reward may include an offer sponsored by an energy drink manufacturer and may be provided to a user for achieving the milestone of reading an e-book all night long. An achievement may also be based on a metric associated with the location of the user or the device used by the user, and a reward may include a local offer sponsored by an advertiser that is in proximity to the metric associated with the location.

“Notifications” are communications provided to the user via a user interface to inform the user that a particular event or achievement has occurred. Notifications may include the resource data (such as for example images and text) associated with the corresponding event or achievement to inform the user that the particular event or achievement that has taken place. Notifications may include an advertisement or offer sponsored by an advertiser. As will be explained herein, system 100 can process data associated with metrics and events to identify an advertisement or offer based on an achievement by the user, the user's predisposition or reading habits. System 100 may determine a suitable advertisement by analyzing the content of e-books read by the user or by analyzing user behavior captured as metrics and events by system 100.

As an illustrative example, an achievement (milestone and reward) may be provided to the user for completing 5 e-books ('5 Completed e-Books Achievement'). In this example, the metric recorded by the system is the user activity of completing an individual e-book (the ‘book completed metric’). The achievement in this example contains a predicate (milestone) which determines whether a total of 5 e-books have been completed, as well as text and images (reward) to be used to inform the user of this occurrence. The event in this example is the e-book completed metric, as it is a metric which may be of interest to the user and thus presented in the user interface rendering of data in the user's profile (‘the e-book completed event’). A notification may be provided to the user each time an e-book is completed, containing information about the ‘e-book completed event’, as well as an additional notification containing information about the ‘e-book completed achievement’ if the achievement's predicate indicates that it should be awarded.

For this illustrative example, when a user completes an e-book, the system 100 records both the e-book completed metric, as well as the e-book completed event. When this metric is recorded, the system 100 determines each achievement (milestone and reward) associated with this e-book completed metric. In the case of the 5 Completed e-Books Achievement, its milestone will determine whether a minimum of 5 e-books have been completed, and if found to be the case, will inform the system 100 to provide a reward in the form of resource data (images and text). The system 100 then creates a notification using the resource data from the event and presents the notification to the user via the user interface of the user's profile.

Referring back to FIG. 1, system 100 may include a server 104 which includes a memory store, such as database(s) or file system(s). Although only one server 104 is shown for clarity, there may be multiple servers 104 or groups of servers 104 distributed over a wide geographic area and connected via network 106, for example. Server 104 has a network interface for connecting to network 106 in order to communicate with other components, to serve web pages, and execute other computing applications.

Continuing to refer to FIG. 1, server 104 may connect to one or more devices 102 a, 102 b, 102 c via network 106. Although only three devices 102 a, 102 b, 102 c have been illustrated, any suitable number of devices may connect to the server 104. Server 104 may provide an eReading service 106 to devices 102 a, 102 b, 102 c, such as providing access to a catalogue of e-books, for example. The server 104 may include a web server to receive and respond to requests received from devices 102 a, 102 b, 102 c.

Device 102 a, 102 b, 102 c may be any networked computing device including a processor and memory, such as an electronic reading device, a personal computer, workstation, server, portable computer, mobile device, personal digital assistant, laptop, smart phone, WAP phone, an interactive television, video display terminals, gaming consoles, and portable electronic devices or a combination of these. Device 102 a, 102 b, 102 c may include a microprocessor that may be any type of processor, such as, for example, any type of general-purpose microprocessor or microcontroller, a digital signal processing (DSP) processor, an application-specific integrated circuit (ASIC), a programmable read-only memory (PROM), or any combination thereof. Device 102 a, 102 b, 102 c may include any type of computer memory that is located either internally or externally to the device 102 a, 102 b, 102 c such as, for example, random-access memory (RAM), read-only memory (ROM), compact disc read-only memory (CDROM), electro-optical memory, magneto-optical memory, erasable programmable read-only memory (EPROM), and electrically-erasable programmable read-only memory (EEPROM), or the like. Device 102 a, 102 b, 102 c may include one or more input devices, such as a keyboard, mouse, camera, touch screen and a microphone, and may also includes one or more output devices such as a display screen and a speaker. Device 102 a, 102 b, 102 c has a network interface for connecting to network 106 in order to communicate with other components. The illustrated device 102 a, 102 b, 102 c may be different types of devices.

In accordance with some embodiments, device 102 a may be an electronic reading device designed specifically for reading e-books, such as a Kobo™ eReader. Device 102 a need not be specifically designed for reading electronic books and may be a general purpose computer, a laptop computer, a tablet computer, a personal digital assistant (PDA), a mobile device, a smart phone, an interactive television, video display terminals, gaming consoles, and portable electronic devices, and so on. In accordance with alternative embodiments, device 102 a may be any computing device with a processor and memory configured for other types of electronic content, such as movies, television shows, music albums or songs.

Device 102 a may store e-books 110 locally or may access e-books 108 residing on server 104 for display to user.

In accordance with some embodiments, device 102 b may be an electronic reading device that directly connects, via a serial bus for example, to another device 102 c, such as a personal computer in order to connect to network 106 and server 104. Devices 102 b, 102 c may be a general purpose computer, a laptop computer, a tablet computer, a personal digital assistant (PDA), a mobile device, a smart phone, an interactive television, video display terminals, gaming consoles, and portable electronic devices, or a combination thereof. Device 102 b may store eBooks 114 locally, or may access e-books 116 residing on another device 102 c, or may access e-books 108 residing on server 104 for display to user.

As used herein, e-books 108, 110, 114, 116 may include any text, audio, image, video, or combination thereof, in electronic form that is capable of being displayed to a user on device 102 a, 102 b, 102 c, including without limitation electronic books, newspapers, magazines, and other publications.

According to exemplary embodiments, the devices 102 a, 102 b, 102 c may be capable of storing and executing an electronic reading (“eReading”) application 112. The eReading application 112 may communicate with eReading Service 106 residing on the server 104 to allow a user operating a device 102 a, 102 b, 102 c to access reading services hosted by the server 104.

Network 106 may be any network(s) capable of carrying data including the Internet, Ethernet, plain old telephone service (POTS) line, public switch telephone network (PSTN), integrated services digital network (ISDN), digital subscriber line (DSL), coaxial cable, fiber optics, satellite, mobile, wireless (e.g. Wi-Fi, WiMAX), SS7 signaling network, fixed line, local area network, wide area network, and others, including any combination of these.

Social network application 120 may be an online service, platform, or site that builds electronic social networks and social relationship links between people, which may be viewed as nodes in the social network. A social network application 120 may represent each user as an electronic profile, and construct a social network for the user by creating electronic links to other user profiles and pages. Examples of social network applications 120 include Facebook™ Linkedln™, MySpace™, FourSquare™ and Twitter™.

Reference is now made to FIG. 2, in which an exemplary embodiment of the system 100 of FIG. 1 is illustrated. In the exemplary embodiment shown in FIG. 2, only device 102 a is illustrated together with the server 104, and the network 106. For clarity, e-books 110 and 108 are omitted from the illustration of device 102 a and server 104, respectively, in FIG. 2.

Server 104 and device 102 a are configured to access and record metrics, identify events and milestones, and provide rewards and notifications, such as advertisements, to a user based on user interactions with server 104, device 102 a, devices 102 b, 102 c (shown in FIG. 1), other devices, social network application 120 and e-books 108, 110, 114, 116 (shown in FIG. 1) accessible to server 104, device 102 a, or both. Server 104 records data associated with metrics and events in a user profile (illustrated as example reading profiles 204, 404) and analyzes the data associated with metrics and events to determine whether milestones have been achieved in order provide awards, advertisements, offers, and notifications to user. For example, device 102 a may include a global positioning system and provide its geographic location (and in turn the geographic location of the user) to server 104. Further, a social network application 120 such as FourSquare™ may provide contextual data regarding the user's location to server 104, such as for example, that the user is located in a particular restaurant. The server 104 may analyze this information and provide to the user, via device 102 a, an offer that is sponsored by the restaurant or related thereto. The server 104 will record the geographic location and the contextual data regarding the geographic location as a metric or event in the user profile.

In this exemplary embodiment, device 102 a is configured with eReading application 112 that includes reading module 212, library 210, client event detection module 202, client reading profile 204 (which is an example of a user profile), and client social connector 205. The reading module 212 allows a user to access e-books 108, 110, 114, 116 (FIG. 1) that are stored on the device 102 a in a library 210, or on server 104 in a digital warehouse 412. The reading module 212 is able to provide a user with options for viewing, managing, manipulating and reading e-books. These options may include for example searching the contents of the library 210 or digital warehouse 412 for a desired e-book, listing available e-books, selecting an e-book, reading an e-book by sequentially viewing pages of the e-book, and highlighting, commenting or otherwise marking-up pages of the e-book.

Client event detection module 202 is operable to monitor user activities received as input data when a user interacts with an e-book using the reading module 212, library 210, the device 102 a, or a social network application 120, such as Facebook™ or Twitter™. Client event detection module 202 may record predefined user activities in the user profile as metrics. Further, client event detection module 202 is operable to monitor user activities to identify events. In an exemplary embodiment activities performed by a user on the device 102 a may include, for example, turning a page, completing a chapter, completing an e-book, completing a series/collection of e-books and completing a predetermined number of pages, chapters, and e-books. In addition, user activities may include posting a message to a social network application 120, or other digital interaction. Client event detection module 202 may record these example user activities in the user profile as metrics. Client event detection module 202 is operable to determine whether any recorded metrics should be identified as events, and recorded in the user's profile as events. Client event detection module 202 is configured to interact with server event detection module 402, which is another instance of this module that resides on the server 104. Client event detection module 202 is further configured to interact with event and milestone definition module 401 in order to identify events if a user's activity meets an event definition stored and managed thereby.

As an example, a user may be reading the e-book “Alice in Wonderland” and client event detection module 202 may identify and store the e-book title and an associated reading time as a metric. When the user turns a page in the e-book which describes Alice meeting the Cheshire cat for the first time in the e-book, then client event detection module 202 may record this virtual meeting as a metric and may identify this virtual meeting as an event. This event (the virtual meeting of the Cheshire cat) may achieve a milestone, which may in turn trigger system 100 to provide a reward and an advertisement or sponsored offer to the user. As another example, when the user turns a page in the e-book that describes Alice arriving at a place, such as the rabbit hole, for the first time, then client event detection module 202 may record this virtual arrival at a place as a metric and may identify this virtual arrival as an event. This event (the virtual arrival at the rabbit hole) may achieve a milestone, which may in turn trigger system 100 to provide a reward and an advertisement or sponsored offer to the user.

In the exemplary embodiment illustrated in FIG. 2, server 104 is configured with an eReading service 106 that includes a digital warehouse 412 for cataloguing, storing and making available copies of e-books (not shown), a digital store 410 for processing e-book purchases, a server event detection module 402, event and milestone definition module 401, server reading profiles 404, and a server social connector 405.

Event and milestone definition module 401 generates and stores event and milestone definitions for use by server event detection module 402 and client event detection module 202 to identify events and milestones when monitoring user activities. Event and milestone definition module 401 may further include metric definitions to determine when a specific user activity should be recorded by the system 100 as a metric. An example of a metric is a user turning a page in an e-book. An example of an event includes a user turning a pre-defined number of pages in an e-book. Event and milestone definition module 401 generates and stores definitions for contextual information for user activities that also may be identified and captured by system 100 as metrics, or events, such as for example a user turning a pre-defined number of pages in a specific e-book, such as Pride and Prejudice by Jane Austen. Event and milestone definition module 401 generates and stores definitions for achievements defined by milestones, rewards, offers, and advertisements. Milestones typically involve an aggregate of events, such as for example completing an e-book or completing a series of e-books. Metrics and events may be based on one or more of the following dimensions: activity based (e.g. adding a new e-book to the user's library 210); time based (e.g. reading between midnight and 3 am); content based (e.g. finished the last book of the Twilight series); and location based (e.g. reading on a beach in Mexico). Event and milestone definition module 401 may further be operable to generate and store definitions associated with advertisements. Server 104 process metrics and data associated with events, milestones, and rewards using these definitions associated with advertisements to determine when a particular advertisement should be displayed to a user and how the particular advertisement should be displayed to a user.

Server event detection module 402 is similar to client event detection module 202 except that it resides on server 104 and monitors user's activities associated with the server 104, such as for example searching for and purchasing a specific e-book. Server event detection module 402 monitors user activities to identify metrics or events if a user activity meets a metric or an event definition, as defined in and managed by event and milestone definition module 401. Server event detection module 402 may also be configured to identify metrics or events occurring at device 102 a by interacting with the client event detection module 202 residing on device 102 a. Server event detection module 402 may detect events based on activities taken by a user through the user's interactivity with a digital warehouse 412 and store 410 resident on the server 104. Server event detection module 402 also detects events through user activity on social network applications 120. Server event detection module 402 may detect user activities and metrics associated with the same user across multiple devices 102 a, 102 b, 102 c and is operable to collate user activities associated with multiple devices 102 a, 102 b, 102 c, and record such user activities as metrics in the user's profile and identify events associated with such user activities even though they occur on multiple devices 102 a, 102 b, 102 c. For example, server event detection module 402 may detect that a user has read 200 pages of an e-book using a device 102 a and the final 300 pages of the e-book using another device 102 b. Server event detection module 402 will collate these metrics to detect that the user has completed the e-book, which may be defined as an event.

When server event detection module 402 records a metric or identifies an event, event detection module 402 provides data associated with the metric or the event (e.g. time, date, title of e-book, activity description, and so on) to event analytics engine 403. Event analytics engine 403 includes a rules engine with event and milestone definitions configured as rules in order to analyze patterns of metrics and events, compute statistical data for the user, and construct a profile for the user. Event analytics engine 403 performs pattern matching of input data to metric, events and milestone definitions, and definitions associated with advertisements stored in the event and milestone definition module 401. As noted herein, system 100 may store predetermined definitions which describe rules for when certain activities qualify as a metric, an event, a milestone for completing certain numbers and/or types of events, a reward to be awarded upon completion of the milestones, an advertisement to be provided, or a combination thereof. The event analytics engine 403 then uses the definitions in the event and milestone definition module 401 to compute statistical data about a metric, an event, a group of metrics or a group of events, determine whether a particular number or aggregate of metrics or events achieves a milestone, and determine whether a reward for milestone achievement, offer, or advertisement should be provided to the user or advertisement displayed. The output of the event analytics engine 403 may then be communicated to server reading profile 404 on the server 104, a client reading profile 204 on the device 102 a, or both. In some embodiments, server 104 may include a separate advertisement analytics engine (not shown) configured with rules for advertisements definitions. Advertisement analytics engine, instead of or in addition to event analytics engine 403, may determine whether an advertisement, recommendation or offer should be provided to a user based on recorded metrics, events, milestones, rewards, user activities, user interactions with other users and so on.

Illustrative examples of user profiles are reading profiles 204, 404 which are configured to store and to render data from the user's profile to provide a visual display of the user's reading profile for display on at least one device 102 a, 102 b, 102 c. The server reading profile 404 may include multiple profiles for multiple users and the client reading profile 204 may include the profile of the user of the device 102 a. Server reading profile 404 and client reading profile 204 contain a user identifier, a log of identified metrics and events associated with the user, achieved milestones, provided rewards, provided advertisements, notifications, computed statistical data, and other information associated with users. The content of the reading profile 204 maintained on device 102 a and the copy of the reading profile maintained in reading profiles 404 stored on the server 104 may be synchronized periodically or in real time.

In certain embodiments, a server social connector module 405 is resident on the server 104 and a client social connector module 205 is resident on the device 102 a. Social connectors 205, 405 are configured to share, publish, and broadcast contents of reading profile 404, 204 to social network applications 120, and receive user activity data from social network applications 120 in order to detect metrics and events. For example, social connectors 205, 405 are configured to share, publish, broadcast metrics, events, milestones, rewards, offers, and advertisements to social network applications 120. In certain embodiments, elements from the reading profile 404, 204 are communicated via the network 106 to social network sites, including for example social networking sites such as Facebook™, LinkedIn™, Foursquare™ and Twitter™.

Event detection modules 202, 402, and event and milestone definition module 401 may be configured to define and detect content-based metrics, events and advertisements that the user can interact with. For example, event and milestone definition module 401 may compute data by searching content from e-books, accessed by the user. The e-book content may relate to, for example, characters in the e-book and locations in the e-book. The user may interact with these generated content based metrics, events and advertisements. In response to such interaction, event detection modules 202, 402 may identify an event. For example, the first time a particular character is described or referred to in a page in the e-book viewed by the user, event detection modules 202, 402 may display an indication that the user is meeting this character from the e-book for the first time and identify this virtual meeting as an event. The algorithm used to obtain data for the content-based events may include: manual selection, keyword searching, crowd sourcing, and import of third party datasets. For example, when a new character is introduced on a page of an e-book, event detection module 202, 402, may detect the occurrence of an event in response to receiving a request to create an event from the user. For example, the request may be initiated by highlighting and clicking on the name of the character. System 100 may record the occurrence of a new event. In some alternative embodiments, system 100 may propagate this detection to all other event detection modules 202, 402, corresponding to other users that have the same e-book stored in their library 210. When that page is displayed to another user, event detection modules 202, 402 may identify the virtual meeting of the character as an event. The user may override this configuration and not detect an event based on another user's event creation. In some embodiments, before a newly created event is propagated to other event detection modules 202, 402, it may be verified by system 100 or other reviewers.

In some embodiments, system 100 may process an e-book to create event markers or advertisement markers so that when a specific page of the e-book is displayed, event detection modules 202, 402 will detect the occurrence of an event or display an advertisement. For example, system 100 may search for key words, such as a location, and flag the first occurrence of a location as an event. For example, the first time the user encounters a new location in the e-book may be flagged as an event. System 100 may also display an advertisement or offer associated with the location, such as for example a discount on air fare. System 100 may also detect an event when an act occurs within the plot of an e-book, such as the death of a character. System 100 may process some or all of the e-books in digital warehouse to create event markers or advertisement markers before a copy of the e-book is available via store 410.

Reference is now made to FIGS. 3, 7 and 8, which illustrate rendered data to provide a visual display 500 of exemplary embodiments of reading profiles 404, 204. The visual display 500 includes the user's details 502 (e.g. user name), status of current electronic publications 504 (e.g. percentage complete), event(s) 506, milestones, reward(s) 510, tips, and other communications. The rendered data visual display 500 includes statistical data 508 such as the number of pages turned, hours reading in total, average number of pages read every reading session, graphical display of the percentage of different genres of e-books in a user's library, the number of books, magazine and newspapers in a user's library, hours per book, minutes per magazine, average number of pages every reading session, average number of pages per hour, percentage of e-books in library the user has read, and a graphical displays of the average reading times per type of e-book, for example. Event analytics engine 403 computes statistical data using rules and received event data and provides the computed statistical data to reading profiles 404, 204. User details 502 include basic user identification information, including, for example, user name and account number. The rendered data visual display 500 displays a detailed record of the current books 504, event(s) 506, milestone(s)/statistical data 508, reward(s) 510, and communication(s) 512 maintained by the system 100. In some embodiments, the rendered data visual display of the reading profiles 404, 204 may change in response to a user shaking the device 102 a, for example.

As noted herein, events 506 may also include content-based events. Reference is now made to FIG. 6, which illustrates another rendered data visual display 500 of exemplary embodiments of reading profiles 404, 204. Content-based events 506 allow a user to interact directly with the story or other information in the e-book 602. For example, when a user interacts, by reading an e-book, with a character or location in the e-book, such an activity may lead to the identification of a corresponding event 506. For example, an event may be created when a user first encounters a particular character in a story. In certain embodiments, the occurrence of the event may be communicated to, for example, a social networking application 120 or third party advertising engine by selecting a communication icon 604. For example, system 100 may provide data associated with metrics, events, milestones and rewards to a third party advertising engine for processing, and in response the third party advertising engine may output an advertisement or offer for provision to the user.

Reference is now made to FIG. 4, which illustrates a method 300 for managing a reading profile for a user of at least one device having access to at least one e-book in accordance with at least one embodiment. The method 300 for managing a reading profile for a user enables system 100 to collect a series of information about the users of e-books (i.e. data associated with events) in a user profile and process the collected information to provide statistical data and results to the user and other applications.

At step 302, system 100 receives a user identifier for a user of at least one device 102 a, 102 b, 102 c with access to at least one e-book 108, 110, 114, 116. The user identifier may be a user name, name, email address, address, client number, phone number or other data that identifies the user. User identifier provides a link between the user and the associated user profile. System 100 may receive the user identifier from server 104 or via a device 102 a, 102 b, 102 c. At step 304, a user profile is generated and stored in the client reading profile 204, server reading profile 404, or both. The user profile includes the user identifier to enable the system 100 to identify and retrieve the user profile associated with a particular user in order to record metrics, events, notifications, achievements, advertisements, offers, and the like in the user profile. User profile may also be referred to as reading profile. The user profile stores events, milestones, and rewards associated with a specific user, and is used to render data to provide a visual display of a user's reading profile for display to user and provision to other applications.

At step 306, system 100 monitors for input data associated with user activities in order to identify metrics and events. System 100 may monitor user activities that are received as input data when a user interacts with an e-book using the reading module 212, library 210, the device 102 a, 102 b, 102 c or a social network application 120, such as Facebook™ and Twitter™. User activities may also occur on the server 104 such as a user searching for e-books in digital warehouse 412 or purchasing e-books from store 410. All user activities of a particular user may be associated with that particular user regardless of whether they occur on the device 102 a, 102 b, 102 c, server 104 or a social network application 120. System 100 may receive input data via a keyboard, touch screen, buttons, voice commands, and so on. System 100 may maintain an activity log of user's activities by recording metircs associated with user activities, even if not identified as an event. As noted herein, user activities may be received from the device 102 a or the server 104, such as by scrolling through pages or purchasing an e-book from the store 410. If a user activity is detected on a device 102 a, 102 b, 102 c then a notice of the activity may be transmitted to the server 104.

At step 308, system 100 determines whether the user activity qualifies as a metric. System 100 uses server event detection module 402 and client event detection module 202 to determine whether the user activity associated with either the server 104 and devices 102 a, 102 b, 102 c, or social network application 120, should be identified as a metric and recorded in the user's profile. An example of a metric is turning a page in a particular e-book. Event detection module 202, 402 may interact with event and milestone definition module 401 to identify a user activity as a metric using metric definitions maintained and stored thereby. A metric is a subset of user activities, as not all user activities will be recorded by system 100 as a metric in the profile of the user. Metrics may be based on one or more of the following dimensions: activity based (e.g. adding a new e-book to user's library 210); time based (e.g. reading between midnight and 3 am); content based (e.g. finished the last book of the Twilight series); and location based (e.g. reading on a beach in Mexico, virtually arriving at a location in an e-book). A metric may be based on user activities based on interactions with an electronic publication, interactions with other users (conversations, chat sessions), and activities on social network applications 120. For example, metrics will record when a user shares data with other users, what the data is, and who the other users are, to record a form of social graph for the user.

When event detection modules 202, 402 identify a user activity as a metric, then at step 310, system 100 receives data associated with the metric and, at step 312, records the received data as a metric in the user's profile. If the activity does not qualify as a metric, the method 300 returns to step 306 and system continues to monitor user activities to identify metrics and events.

At step 314, system 100 determines whether the user activity or metric qualifies as an event. System 100 uses server event detection module 402 and client event detection module 202 to determine whether the user activity associated with the server 104, devices 102 a, 102 b, 102 c, or both, should be identified as an event and recorded in the user's profile. Not all metrics (which are in turn a subset of user activities) may be identified as events. Events may be a subset of metrics. For example, a metric may be turning 1 page in an e-book, and an event may be turning all pages in a chapter of an e-book. System 100 will identify and record each individual page turn in a chapter as metrics to in turn identify the event, turning the last page in the chapter. Event detection module 202, 402 may interact with event and milestone definition module 401 to identify the occurrence of an event using event definitions maintained and stored thereby. As noted herein, event and milestone definition module 401 contains event definitions that are rules or patterns used to identify specific user activities and recorded metrics as events. The server event detection module 402 and client event detection module 202 compare input data associated with a metric and user activity to the rules or patterns of event definitions to identify events. For example, an event may be reading 100 pages in less that 1 hour, and may be defined by an event definition so that this user activity is captured by system 100. Accordingly, an event may be identified based on one or a combination of multiple user activities or metrics. For example, one metric may be turning 1 page and an event may be turning 100 pages in under one hour, so that an event is identified when 100 individual metrics of turning 1 page are detected within a time period that is less than one hour. In this example, the system 100 will record a timestamp as part of each recorded metric in order to compute the time period in the event definition. The user activity may involve an interaction with a page of the electronic publication and system 100 may record a pagestamp identifying the page of the electronic publication as part of a recorded metric.

Exemplary events performed by a user on the device 102 a may include, for example, completing a chapter, completing an e-book, completing a series/collection of e-books and completing a predetermined number of pages, chapters, and e-books. In addition, events may include posting a message to a social network application 120, or other digital interaction. Events with contextual information include for example a user turning a pre-defined number of pages in a specific e-book, such as Pride and Prejudice by Jane Austen. Events may be based on one or more of the following dimensions: activity based (e.g. adding a new e-book to their library 210); time based (e.g. reading between midnight and 3 am); content based (e.g. finished the last book of the Twilight series); and location based (e.g. reading on a beach in Mexico). An event may be based on user activities based on interactions with an electronic publication, interactions with other users (conversations, chat sessions), and activities on social network applications 120. For example, events will record when a user shares data with other users, what the data is, and who the other users are, to record a form of social graph for the user.

Events definitions, metric definitions, milestone definitions, and advertisement definitions may be generated by automatically searching content from e-books regarding characters in the e-book and locations in the e-book. Events definitions, metric definitions, milestone definitions, and advertisement definitions may also be generated based on programmed algorithms and a semantic analysis. A user activity would be the user's interaction with these generated content based events, via a dialogue box for example. In response to such user interaction, event detection modules 202, 402 may identify an event. For example, the first time a particular character is described or referred to in a page in the e-book viewed by the user, event detection modules 202, 402 may display an indication that the user is meeting this character from the e-book for the first time and identify this virtual meeting as an event. The mechanism used to obtain data for the content-based events include: manual selection, keyword searching, crowd sourcing, and import of third party datasets. For example, when a new character is introduced on a page of an e-book, event detection module 202, 402, may detect the occurrence of an event in response to receiving a request to create an event from the user, by e.g. highlighting and clicking on the name of the character. System 100 may record the occurrence of a new event and propagate this detection to all other event detection modules 202, 402, corresponding to other users that have the same e-book stored in their library 210. When that page is displayed to another user, event detection modules 202, 402 may identify the virtual meeting of the character as an event. The user may override this configuration and not detect an event based on another user's event creation. In some embodiments, before a user created event is propagated to other event detection modules 202, 402 it may be verified by system 100 or other reviewers.

In some embodiments, an e-book may be configured with event markers so that when a specific page of the e-book is displayed, event detection modules 202, 402 will detect the occurrence of an event, based on key words, such as a location for example, and flag the first occurrence of a location as an event, namely, the first time the user virtually encounters a new location in the e-book. An event may also be a user activity associated with an act that occurs within an e-book, such as the death of a character. Some or all of the e-books in digital warehouse may be configured with event markers before a-copy of the e-book is available via store 410.

When event detection modules 202, 402 detects the occurrence of an event, event data is provided to event analytics engine 403 for computing statistical data and pattern matching to rules maintained in a rules engine. If the activity does not qualify as an event, the method 300 returns to step 306 and system continues to monitor user activities to identify metrics and events. If the activity does warrant the creation of an occurrence of the event the method 300 proceeds to step 316.

At step 316 the system 100 records the occurrence of the event in the reading profile 404, 204 associated with the user. System 100 records the event data in the reading profile 404, 204 associated with the user so that statistical data may be subsequently computed and shared via social network applications 120, and so on. In addition, system 100 compiles one or more events to determine whether a milestone has been achieved. System 100 is operable to provide the reading profile 404, 204 associated with the user to device 102 a or another device.

Referring now to FIG. 5, at step 318, the event analytics engine 403 determines whether the event, the metric, an aggregate of metrics or an aggregate of events indicates that a milestone has been achieved (i.e. the predicate or condition of an achievement). Event analytics engine 403 interacts with event and milestone definition module 401 to determine whether an event, a metric, an aggregate of metrics or an aggregate of events meets a milestone definition. As noted herein, event and milestone definition module 401 manages milestone definitions to identify whether event(s) and metric(s) result in a milestone achievement. If a milestone has not been achieved, the method 300 proceeds to step 332. If a milestone has been achieved the method 300 proceeds to step 320.

At step 320 the server 104 records the milestone achievement in the reading profile 404. After the server 104 records the milestone in the reading profile 404, the method 300 proceeds to step 322.

At step 322 the event analytics engine 403 determines whether a reward should be provided as a result of achieving the milestone. Event analytics engine 403 interacts with event and milestone definition 401 which maintains reward definitions, which in turn define when the reward should be provided and selects the reward. If a reward should not be given, the method 300 proceeds to step 332. If a reward should be given the method 300 proceeds to step 324. At step 324 the server 104 provides the reward to the user and at step 326 the system 100 records the reward in the reading profile 404. The reward may be resource data in the form of images and text which identify the achievement awarded to the user. The reward may also include an offer sponsored by an advertiser, an offer associated with a loyalty program or a virtual gift.

In an at least one embodiment, rewards and milestones are determined by the event analytics engine 403 and defined by event and milestone definition module 401. Table 1 provides list of example achievements (rewards and milestones), a short description on how to achieve the reward (milestone), a short description of what may be displayed in a rendered data visual display of a profile of a user, and an indication on how the next milestone or reward may be achieved. How to achieve the reward will be defined by a milestone definition and a reward definition. As an example, the “Free loader” reward is provided when a user achieves a milestone of downloading five e-books for free. The user activity of downloading each individual e-book for free will be identified by system 100 as individual events. The downloading of five e-books for free will be defined as a milestone definition and a reward definition will link the “Free loader” award with achieving that milestone.

TABLE 1 Milestone/ Description (after Prompts to Earn or Next Reward How to achieve earning) Level Welcome! Open the eReading Welcome! Your digital N/A Awarded on First Time Reading Life application for the first Reading Life has just Open time begun. BookLover Joined eReading Booklover You're now Want to become a Kobo Services/Created an part of Kobo ™, and an BookLover? Sign in to your account/signed in to official Booklover! account, or create a new one eReading application today. SocialNetwork Authenticated use with Facebook You've Connect a social network a connection tool on a connected to your social profile to your Reading Life to social network network. unlock the social network application award. I <heart> My User added their first e- I <heart> My Library Love your library—add a Library book to their library You've started to build a book or newspaper and we'll (first sync with content digital library with Kobo. give you some loving with to download) our Heart Award! Once Upon a Started reading their Once Upon a Time You It was a dark and stormy Time first new book started reading a new night . . . start a new book to book. earn the Once Upon a Time Award. Not an Open User finished their first Not an Open Book Mark a book as closed for Book new book You've finished a book. Is this award. (No cheating it true that “the good please, real Booklovers read ended happily, and the to the very end!) bad unhappily”? (Thanks to Oscar Wilde for the quote!) Scout Leader Collected 10 rewards Scout Leader You have You need 10 Kobo Reading 10 Achievements. Clearly Life Awards to earn the you've got what it takes honor of Scout Leader! to survive the literary wilds. Free Loader Last 5 books Free Loader You've N/A Surprise Achievement downloaded were free found and added 5 free books to your library You're a total freegan. Deep Thinker Created 1st annotation Deep Thinker You made Want to join Kobe's Deep a note in your book. Thinkers? Start by taking That's so awesome! notes in one of your books. Inverted Created 1st highlight Inverted Comma You Want the Inverted Comma Comma highlighted your first award? Select your favorite passage. passages using our highlighting feature Night Rider Read between midnight Night Rider You read all N/A Surprise Achievement and 4 am night long - congratulations from Kit - and Kobo! Word Up! Used the dictionary 10 Word Up! That's 10 new Use your built-in Kobo times to look up a word definitions for you. Now, dictionary to get the Word maybe it's time to go Up! Award! outside? Classic Attack Read all 5 books Classic Attack We gave Earning the Classic Attack bundled on the iOS you five free classics to Award isn't easy—you'll have devices start - and you attacked to plow through the 5 classic and finished each one! books already in your library! Fanatic Added 5 books from Fanatic Congratulations, N/A Surprise Achievement one author you're officially obsessed. You have 5 books by <Author Name>. Papillion Shared 10 things on a Papillion Well, you're 10 shares to a social network social network quite the social butterfly! will earn you the social You've shared on butterfly award! Facebook 10 times. Total Recall Reading a book you've Total Recall We love re- N/A Surprise Achievement already read reading our favorite books too. Literary Giant Purchased 10 or more Literary Giant Your Adding 10 books within a books within 30 days library is bursting at the period of 30 days makes you seams! That's 10 new a literary giant. books in 30 days. Competitor Added 5 “Can't get Competitor Killer 5 Clue: Defy ‘the one who shall Killer these on a competitors books are in your library not be named’ 5 times to service” that can't be found on the unlock this award. other libraries News Hound More than 5 newspaper News Hound 5 Sign up for 5 or more subscription subscriptions? With that newspaper subscriptions to much knowledge of become a News Hound. current affairs you could start your own news channel. Magazine More than 5 Mags Magazine Junkie Sign up for 5 or more Junkie Careful, magazines can be magazine subscriptions to habit forming - you've got become a Magazine Junkie. 5 subscriptions already! Extra! Extra! Subscribed to a Extra! Extra! You get the Extra! Extra! Read all about! newspaper daily news and never get It's simple to earn this your hands dirty. award. Just get your hands Congrats on your first dirty with some newsprint. subscription. Gimme Zines! Subscribed to a Gimme Zines! Celebrity Gimme Zines! Sign up for magazine photographs and more! your first magazine Congrats on your first subscription to get this magazine subscription. award. Keener User opens every issue Keener. You opened N/A Surprise Achievement of their subscription on every issue of a the day it is delivered subscription on the day it for 5 consecutive issues was delivered for 5 consecutive issues Hot off the User opens every issue Hot off the press I N/A Surprise Achievement Press of their subscription on opened every issue of my the day it is delivered newspaper subscription for 5 consecutive issues on the day it was delivered for 5 consecutive issues Speed Reader Reads more than 300 Speed Reader Holy N/A Surprise Achievement words per minute Smokes, you read faster than a blink of an eye! 300 words per minute according to your average page turn count. The Twain Read every day for 14 The Twain Badge Read every day for 14 days Badge days Bestowed upon you for on your Kobo to get the reading everyday for the Twain Badge. past 14 days straight. Juggernaught Turned 10,000 pages Juggernaught Go big or How do you get to be a go home! You've turned Juggernaught? Hint: go big, 10,000 pages with Kobo. or go home. Try War & Peace. Or maybe a couple of volumes of Proust. Marathon Read a complete book Marathon You finished N/A Surprise Achievement in one sitting the whole book in one sitting! Head Turner Read for 5 hours Head Turner Clearly you Read for 5 hours in one straight couldn't put that book sitting to become a Head down! You read for 5 Turner. Just remember to hours straight! eat. Afternoon Read 5 times during Afternoon Rush Hour Read at the same time on 5 Rush Hour Afternoon Rush Hour = Read 5 times during different days to unlock the 4 pm-6 pm Afternoon Rush Hour: award for your favorite 4 pm-6 pm reading time. Happy Hour Read 5× during Happy Hour Read 5 N/A—Only a selection of the Cocktails Hour = times during Cocktails time based ones have 6 pm-8 pm Hour: 6 pm-8 pm prompts. Primetime Read 5× during Primetime Read 5 times N/A—Only a selection of the Evening = during Primetime: time based ones have 8 pm-10 pm 8 pm-10 pm prompts. Better in Bed Read 5× during Better in Bed Read 5 N/A—Only a selection of the Bedtime = times during Bedtime: time based ones have 10 pm-12 am 10 pm-12 am prompts. Witching Hour Read 5× during The Witching Hour Read Night owl? Read during this Witching Hour = 5 times during Witching classically “scary” hour and 12 am-1 am Hour: 12 am-1 am earn the Witching Badge. Graveyard Read 5× during The Graveyard Shift N/A—Only a selection of the Shift Graveyard Shift = Read 5 times during time based ones have 1 am-5 am Graveyard Shift: prompts. 1 am-5 am Eat It Read 5× during Eat It Read 5 times N/A—Only a selection of the Breakfast Hour = during Breakfast Hour: time based ones have 5 am-7 am 5 am-7 am prompts. Kill the Read 5× during Kill the Commute Read N/A—Only a selection of the Commute Morning Rush Hour = 5 times during Morning time based ones have 7 am-9am Rush Hour: 7 am-9 am prompts. Sleeping In Read 5× during Sleeping In Read 5 N/A—Only a selection of the Sleeping In = times during Sleeping In: time based ones have 9 am-12 pm 9 am-12 pm prompts. Lunch Read 5× during Lunch! Read 5 times Try satisfying two cravings at Lunch = during Lunch: once: read a book over this 12 pm-2 pm 12 pm-2 pm. standard afternoon meal. Playing Hooky Read 5× during Playing Hooky Read 5 N/A—Only a selection of the Afternoon = times during the time based ones have 2 pm-4 pm Afternoon: 2 pm-4 pm prompts.

At step 328, the server 104 analyzes data associated with metrics, events, and achievements and determines whether an advertisement, offer or recommendation should be provided to a user. The server 104 may process data associated with metrics, achievements, and events to determine a user's predisposition or interests so that a targeted advertisement, offer or recommendation may be provided to a user. The server 104 may provide an advertisement, offer, or recommendation that is associated with the particular e-book the user is reading, when the user is reading the e-book, where the user is reading the e-book, and so on. For example, if a user is reading an e-book late at night, an advertisement, offer or recommendation for an energy drink may be displayed to the user. An advertisement, offer or recommendation may be provided in a variety of media such as text, image, audio video or a combination thereof. Server 104 may analyze data associated with metrics and events to determine the particular medium the advertisement should be provided in. For example, if collected metrics indicate that a user frequently requests videos then an advertisement, offer or recommendation may be provided as a video.

If an advertisement, offer or recommendation should not be provided to a user the method proceeds to step 332. For example, server 104 may be configured such that no advertisement, offer or recommendation, or only a limited set of advertisements, will be provided to a particular user. If an advertisement, offer or recommendation should be provided then the method 300 proceeds to step 330. At step 330 the server 104 provides the advertisement, offer or recommendation to the user and the method proceeds to step 332.

In a further embodiment, a notification of the reward may be transmitted to a social network application 120. For example, social connector module 405, 205 communicates the reward notification as indicated under a social network user name, social network formatted text, or a combination thereof. Further, server 104 may display a prompt describing to the user ways to earn the next level of achievement.

In a further embodiment, the creation of the reward by the event analytics engine 403 is scaleable and a reward may be created by the server 104 after a certain number of milestones have been reached.

Returning again to FIG. 5, at step 332, the social connector module 405, 205 on the server 104 or device 102 a, provides an option to provide a notification about the event, milestone, or reward or advertisement to the user, a social network application 120 or other website. For example, the server 104 may provide a notification about a reward by displaying it in a rendering of the user's profile. In response, system 100 receives input data. If the received input data indicates that the notification of the event, milestone, or reward should not be communicated the method 300 returns to step 306. If input data indicates that the notification of the event, milestone, or reward should be communicated the method 300 proceeds to step 334 where the notification about the event, reward, advertisement or milestone is sent to the user, the social network application 120 or other website via the social connector 405, 205. In some embodiments, all events may be automatically communicated to a user or recorded and displayed in a rendering of data from the reading profile 404, 402 for the user.

At step 336, the notification is recorded in the reading profile 404, 402. After step 336, the method 300 returns to step 306 where device 102 and server 104 monitor user activities to collect metrics and identify events. In an alternative embodiment, server 104 is configured to be programmed with predetermined events, milestones, advertisements or rewards that are to be automatically communicated to the network 106 by the social connector 405, 205, without receiving specific input data authorizing the communication.

In accordance with an example embodiment, events analytics engine 403 is configured with rules to analyze e-books in library 210 to make recommendations for e-books, based on genre, type, and reading profiles 404 of other users.

Example embodiments have described herein in relation to electronic publications. However, the described embodiments may also be used for other types of electronic content, such as movies, television shows, music albums or songs. In accordance with other example embodiments, the metrics, events, and milestones may relate to different types of electronic content. If multiple types of electronic content are used then metrics, events and milestones may be aggregated in the profile of the user. For example, a metric or event may relate to listening to a song of a music album and a milestone may be listening to an full music album. As a further example, other metrics or events may relate to watching a movie using device 102 a. The profile of the user may aggregate the metrics relating to electronic publications, music, and film in the profile of the user.

The system 100 and method 300 described herein may provide an advantage of enhancing the digital reading experience for a user by making it interactive, fun, social and meaningful. By managing a profile of a user associated with e-books and analyzing metrics and events associated with the user's reading habits, the culture of reading may enhance the digital experience of reading e-books. For example, the system 100 and method 300 may provide a connection between the user's reading profile and friends of the user on social network applications 120. The system 100 and method 300 may permit the user to discover and share favorite e-books and passages within e-books, characters of e-books and places within e-books with other users and friends via their profile, e-mail messaging and social network applications 120. The system 100 and method 300 may provide fun and surprising awards as the user achieves milestones while reading e-books. The system 100 and method 300 may compute and record interesting statistics, a timeline of events and generate a personal book cover based on e-books of interest to the user.

The system 100 and method 300 described herein may increase engagement by the user with e-books and increase the frequency of reading e-books. The user's profile may record real-time metrics based on a user's social interactions. The user's profile may also record contextual information for events, such as the user's current location when the event occurs. Recorded locations may be identified on a map and displayed to the user as part of a rendering of data in the user profile to create a visual display for the user.

The system 100 and method 300 described herein may provide an interactive software applications to collect metrics from the user, a listing of all e-books in the user's library, a software application that computes and displays a list of friends of the user that are currently reading an e-book, what e-book they are currently reading, and where they are currently reading the e-book. The system 100 and method 300 described herein may provide recommendations and filters based on recorded metrics to provide recommendations and other computer statistics to the user, such as for example a list of e-books that other users are reading who are within the same geographic area as the user. Location based metrics may be associated with a milestone and reward, such as for example, a reward may be provided to the first user that reads a particular e-book near the Eiffel Tower. The system 100 and method 300 described herein may enable a user to communicate particular metrics and events to particular users, or all users of the system 100. For example, events, milestones, and rewards for a particular user may be displayed as a stream of data and system 100 may be configured to display a portion of events, milestones, and rewards or all events milestones, and rewards. As a further example, system 100 may enable one user to send a message or reward to another user of system 100 or social network application 120.

The system 100 and method 300 described herein may provide a community of users, connected as a network of nodes, and further connected to social network application 120. The system 100 and method 300 may provide a community to enable users to communicate and share e-books, trends, content of e-books (quotes), events, milestones and rewards with other users. The system 100 and method 300 may filter shared data by geographic location, such that a user can see what e-books other users in, for example, the same city are also reading.

The system 100 and method 300 may be configured with new rewards by providing an interface for creating new rewards and defining milestones associated therewith. A reward may be tied to a co-op program and a loyalty program. As noted herein, a reward may be a coupon or offer, a virtual gift, a display of text and images, sponsorships, advertisements, and so on. The system 100 and method 300 may display rewards associated with a user on the user's profile. As noted herein, the system 100 and method 300 may identify virtual meetings with characters described in an e-books and virtual arrivals at places described in an e-book. The system 100 and method 300 may associate an image with characters and places described in e-books to create a virtual badge to provide as a reward to a user when a virtual meeting or arrival is identified as an event. As noted herein, e-books may be configured with virtual markers to assist system 100 and method 300 in identifying events, such as when a user will first encounter a character described in an e-book. These virtual markers may be created by multiple users of the system 100 or may automatically be created by keyword searching and the like. The virtual markers may also be associated with an advertisement so that when system 100 displays a page of an e-book annotated with a virtual marker an associated advertisement or sponsored offer is displayed. As noted herein, the system 100 and method 300 records data associated with metrics and events for a user and may display recorded data for the user as part of a rendering of their user profile. The data associated with metrics and events may include timestamps for when the metrics and events occur, and the data associated with the metrics and events may be displayed to a user as a time line. Further example metrics include, a user location when they start reading an e-book, a user location when they stop reading an e-book, what e-books a user is reading, time taken to read a particular e-book, and what other users are reading the same e-book as a particular user.

While the above description provides examples of the embodiments, it will be appreciated that some features and/or functions of the described embodiments are susceptible to modification without departing from the spirit and principles of operation of the described embodiments. Accordingly, what has been described above has been intended to be illustrative of the invention and non-limiting and it will be understood by persons skilled in the art that other variants and modifications may be made without departing from the scope of the invention as defined in the claims appended hereto. 

1. A method of managing a profile of a user of at least one device having access to electronic content, the method comprising: receiving a user identifier for a user of at least one device configured to access electronic content; storing a profile of the user in a memory, wherein the profile of the user comprises the user identifier; if a user activity meets at least one event definition, identifying the user activity as an event, wherein the identifying step is carried out using a processor; receiving data associated with the event; recording at least a portion of the data associated with the event in the profile of the user; and providing at least of portion of the profile of the user to the at least one device.
 2. The method of claim 1 wherein the electronic content comprises at least one electronic publication.
 3. The method of claim 1 further comprising storing a plurality of event definitions.
 4. The method of claim 3 wherein identifying the user activity as an event comprises matching input data to at least one of the plurality of event definitions.
 5. The method of claim 1 further comprising: if a plurality of the user activities meet at least one milestone definition, identifying that a milestone has been achieved, wherein the milestone is an aggregation of events; and recording data associated with the milestone in the profile of the user.
 6. The method of claim 5 further comprising storing at least one milestone definition.
 7. The method of claim 6 further comprising: determining whether the milestone is associated with a reward; recording data associated with the reward in the profile of the user; and providing the reward to the user.
 8. The method of claim 1 further comprising providing a notification of the occurrence of the event to a social network application.
 9. The method of claim 1 wherein receiving data associated with the event further comprises receiving a time period associated with the user accessing the electronic content.
 10. The method of claim 2 wherein receiving data associated with the event further comprises receiving a time period associated with the user reading the at least one electronic publication.
 11. The method of claim 1 wherein receiving data associated with the event further comprises receiving at least a portion of the electronic content.
 12. The method of claim 1 wherein receiving data associated with the event further comprises receiving a location of at least one device configured to access the electronic content.
 13. The method of claim 2 wherein the event is associated with at least one of the group consisting of: interactivity of the user with the device, interactivity of the user with an electronic publication online service, a number of electronic publications in an electronic library associated with the user, turning a number of pages in an electronic publication, adding an electronic publication to an electronic library associated with the user, finishing an electronic publication that is last in a series of electronic publications, finishing an electronic publication by an author, reading an electronic publication in a location, an event on a social networking application, and reading about a character in an electronic publication.
 14. The method of claim 1 wherein the event is associated with at least one of the group consisting of: interactivity of the user with the device, interactivity of the user with an online service providing the electronic content, a number of types of electronic content items associated with the user, a number of times the user access an electronic content item, adding a new electronic content item to an electronic library associated with the user, finishing an electronic content item that is last in a series of electronic content items, finishing a electronic content item by an author, accessing an electronic content item in a location, and an event on a social networking application.
 15. The method of claim 1 further comprising: if the user activity meets at least one advertisement definition, providing an advertisement to the user; and recording data associated with the advertisement in the profile of the user.
 16. The method of claim 1 further comprising: if the user activity meets at least one offer definition, providing an offer to the user, and recording data associated with the offer in the profile of the user.
 17. The method of claim 1 further comprising: if the user activity meets at least one gift definition, providing a virtual gift to the user, and recording data associated with the gift in the profile of the user.
 18. The method of claim 2 wherein the user activity is associated with the user highlighting a portion of the electronic publication.
 19. The method of claim 2 wherein the user activity is associated with the user annotating a portion of the electronic publication.
 20. The method of claim 1 wherein the user activity is associated with the user interacting with another user.
 21. The method of claim 1 wherein the user activity is associated with the user commenting on the electronic content.
 22. A system for managing a profile of a user of at least one device having access to electronic content, the system comprising: a profile module configured to: receive a user identifier for the user of the at least one device configured to access the electronic content; store a profile of the user in a memory, wherein the profile of the user comprises the user identifier; an event detection module configured to identify, using a processor, a user activity as an event if the user activity meets at least one event definition, and to receive data associated with the event; and wherein the profile module is further configured to record at least a portion of the data associated with the event in the profile of the user.
 23. The system of claim 22 wherein the electronic content comprises at least one electronic publication.
 24. The system of claim 22 further comprising: an event definition module configured to define a plurality of event definitions; and a rules engine configured to store and manage the plurality of event definitions.
 25. The system of claim 24 wherein the event detection module is configured to identify an event by interacting with the rules engine to match input data to at least one of the plurality of event definitions.
 26. The system of claim 25 further comprising a milestone definition module configured to define at least one milestone definition, wherein a milestone is an aggregation of events; and wherein the rules engine is configured to store the at least one milestone definition.
 27. The system of claim 24 wherein the event detection module is further configured to determine that a plurality of the user activities achieve a milestone if the plurality of the user activities meet at least one milestone definition, wherein a milestone is an aggregation of events; and wherein the profile module is configured to record data associated with the milestone in the profile of the user.
 28. The system of claim 27 further comprising a reward module configured to determine whether the milestone is associated with a reward and provide the reward to the user; and wherein the profile module is configured to record data associated with the reward in the profile of the user.
 29. The system of claim 24 further comprising a social connector configured to provide a notification associated with the event to a social networking application.
 30. The system of claim 24 further comprising a social connector configured to receive the user activity from a social networking application.
 31. The system of claim 23 wherein the event detection module is configured to receive a time period associated with the user reading the at least one electronic publication.
 32. The system of claim 22 wherein the event detection module is configured to receive a time period associated with the user accessing the electronic content.
 33. The system of claim 23 wherein the event detection module is configured to receive story content from at least one of the at least one electronic publication.
 34. The system of claim 22 wherein the event detection module is configured to receive a location of the device configured to access the electronic content.
 35. The system of claim 23 wherein the event is associated with at least one of the group consisting of: interactivity of the user with the device, interactivity of the user with an electronic publication online service, a number of electronic publications in an electronic library associated with the user, turning a number of pages in an electronic publication, adding an electronic publication to an electronic library associated with the user, finishing an electronic publication that is last in a series of electronic publications, finishing an electronic publication by an author, reading an electronic publication in a location, an event on a social networking application, annotations, comments, speed, social graph, specific content in the electronic publication, and reading about a character in an electronic publication.
 36. The system of claim 23 further comprising an event analytics engine further configured to process data associated with events to compute statistical data selected from the group consisting of: status of current electronic publication, current electronic publication reading, types of electronic publication, genre of electronic publication, graphical representations, number of pages turned, number of hours spent reading, number of pages read every session, rewards achieved, number of magazines completed, number of newspapers completed, number of books read, number of hours per e-book, number of minutes per magazine, number of pages read every session, annotations, comments, speed, social graph, specific content in the electronic publication, and percentage of electronic publications completed in the library.
 37. The system of claim 22 wherein the event detection module is configured to run on a server, wherein the server comprises the processor and the server communicates with the at least one device over a network.
 38. The system of claim 22 wherein the event detection module is configured to run on the at least one device.
 39. The system of claim 22 further comprising at least two event detection modules configured to identify, using the processor, a user activity as an event if the user activity meets at least one event definition, and to receive data associated with the event, and wherein a first event detection module resides on a server and a second event detection module resides on the at least one device.
 40. The system of claim 22 further comprising an advertisement engine configured to provide, using the processor, an advertisement to the user if the user activity meets at least one of an advertisement definition, a milestone definition, and a reward definition. 